package com.jinmdz.fmis.dao.model.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnColumn;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;

import java.util.Date;

/**
 * 火化数据查询
 *
 * @author GuanKui
 * @date 2020/2/25 14:54
 */
@AnTable(value = "Sheet", title = "火化台账查询")
public class SearchCremationLedgerViewItem extends BaseBean {

    /**
     * 逝者编号
     */
    @AnColumn(value = "逝者编号", index = 1)
    private String businessCode;


    /**
     * 火化预约日期
     */
    @AnColumn(value = "火化预约日期", pattern = BaseBean.yyyy_MM_dd, index = 2)
    @JsonFormat(pattern = yyyy_MM_dd)
    private Date appointmentDate;

    /**
     * 是否预约
     */
    @JsonIgnore
    private Integer asAppointment;

    /**
     * 是否预约文本
     */
    @AnColumn(value = "是否预约", index = 3)
    private String asAppointmentText;

    /**
     * 预约时间段
     */
    @AnColumn(value = "预约时间段", index = 4)
    private String appointmentTimeSegment;

    /**
     * 火化证号
     */
    @AnColumn(value = "火化证号", index = 5)
    private String cremationNo;

    /**
     * 逝者证件编号
     */
    @JsonIgnore
    private Integer certificateTypeCode;

    /**
     * 逝者证件类型
     */
    @AnColumn(value = "证件类型", index = 6)
    @AnDict(dict = EDictCode.CERTIFICATES, ref = "deadGenderCode")
    private String certificateType;

    /**
     * 证件号码
     */
    @AnColumn(value = "证件号码", index = 7)
    private String certificateNo;

    /**
     * 逝者姓名
     */
    @AnColumn(value = "逝者姓名", index = 8)
    private String deadName;

    /**
     * 逝者性别编号
     */
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者性别
     */
    @AnColumn(value = "性别", index = 9)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 逝者民族编号
     */
    @JsonIgnore
    private Integer deadNationCode;

    /**
     * 逝者民族
     */
    @AnColumn(value = "民族", index = 10)
    @AnDict(dict = EDictCode.NATION, ref = "deadNationCode")
    private String deadNation;

    /**
     * 生前住址
     */
    @AnColumn(value = "生前住址", index = 11)
    private String beforeDeathAddress;

    /**
     * 死亡原因
     */
    @AnColumn(value = "死亡原因", index = 12)
    private String deathCause;

    /**
     * 是否本地户口编号
     */
    @JsonIgnore
    private Integer asLocal;

    /**
     * 是否本地户口
     */
    @AnColumn(value = "是否本地户口", index = 13)
    private String asLocalText;

    /**
     * 逝者户口所在地
     */
    @AnColumn(value = "户口所在地", index = 14)
    private String householdRegistrationPlace;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 办理亲属
     */
    @AnColumn(value = "办理亲属", index = 15)
    private String memberName;

    /**
     * 与逝者关系
     */
    @AnColumn(value = "与逝者关系", index = 16)
    private String memberRelation;

    /**
     * 家属联系电话
     */
    @JsonIgnore
    private String mobilePhone;

    /**
     * 家属其他联系电话
     */
    @JsonIgnore
    private String otherPhone;

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchCremationLedgerViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getAsAppointment() {
        return asAppointment;
    }

    public SearchCremationLedgerViewItem setAsAppointment(Integer asAppointment) {
        this.asAppointment = asAppointment;
        return this;
    }

    public String getAsAppointmentText() {
        return asAppointmentText;
    }

    public SearchCremationLedgerViewItem setAsAppointmentText(String asAppointmentText) {
        this.asAppointmentText = asAppointmentText;
        return this;
    }

    public Date getAppointmentDate() {
        return appointmentDate;
    }

    public SearchCremationLedgerViewItem setAppointmentDate(Date appointmentDate) {
        this.appointmentDate = appointmentDate;
        return this;
    }

    public String getAppointmentTimeSegment() {
        return appointmentTimeSegment;
    }

    public SearchCremationLedgerViewItem setAppointmentTimeSegment(String appointmentTimeSegment) {
        this.appointmentTimeSegment = appointmentTimeSegment;
        return this;
    }

    public String getCremationNo() {
        return cremationNo;
    }

    public SearchCremationLedgerViewItem setCremationNo(String cremationNo) {
        this.cremationNo = cremationNo;
        return this;
    }

    public Integer getCertificateTypeCode() {
        return certificateTypeCode;
    }

    public SearchCremationLedgerViewItem setCertificateTypeCode(Integer certificateTypeCode) {
        this.certificateTypeCode = certificateTypeCode;
        return this;
    }

    public String getCertificateType() {
        return certificateType;
    }

    public SearchCremationLedgerViewItem setCertificateType(String certificateType) {
        this.certificateType = certificateType;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public SearchCremationLedgerViewItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchCremationLedgerViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public SearchCremationLedgerViewItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public SearchCremationLedgerViewItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public Integer getDeadNationCode() {
        return deadNationCode;
    }

    public SearchCremationLedgerViewItem setDeadNationCode(Integer deadNationCode) {
        this.deadNationCode = deadNationCode;
        return this;
    }

    public String getDeadNation() {
        return deadNation;
    }

    public SearchCremationLedgerViewItem setDeadNation(String deadNation) {
        this.deadNation = deadNation;
        return this;
    }

    public String getHouseholdRegistrationPlace() {
        return householdRegistrationPlace;
    }

    public SearchCremationLedgerViewItem setHouseholdRegistrationPlace(String householdRegistrationPlace) {
        this.householdRegistrationPlace = householdRegistrationPlace;
        return this;
    }

    public String getBeforeDeathAddress() {
        return beforeDeathAddress;
    }

    public SearchCremationLedgerViewItem setBeforeDeathAddress(String beforeDeathAddress) {
        this.beforeDeathAddress = beforeDeathAddress;
        return this;
    }

    public String getDeathCause() {
        return deathCause;
    }

    public SearchCremationLedgerViewItem setDeathCause(String deathCause) {
        this.deathCause = deathCause;
        return this;
    }

    public Integer getAsLocal() {
        return asLocal;
    }

    public SearchCremationLedgerViewItem setAsLocal(Integer asLocal) {
        this.asLocal = asLocal;
        return this;
    }

    public String getAsLocalText() {
        return asLocalText;
    }

    public SearchCremationLedgerViewItem setAsLocalText(String asLocalText) {
        this.asLocalText = asLocalText;
        return this;
    }

    public String getPhone() {
        return phone;
    }

    public SearchCremationLedgerViewItem setPhone(String phone) {
        this.phone = phone;
        return this;
    }

    public String getMemberName() {
        return memberName;
    }

    public SearchCremationLedgerViewItem setMemberName(String memberName) {
        this.memberName = memberName;
        return this;
    }

    public String getMemberRelation() {
        return memberRelation;
    }

    public SearchCremationLedgerViewItem setMemberRelation(String memberRelation) {
        this.memberRelation = memberRelation;
        return this;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public SearchCremationLedgerViewItem setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
        return this;
    }

    public String getOtherPhone() {
        return otherPhone;
    }

    public SearchCremationLedgerViewItem setOtherPhone(String otherPhone) {
        this.otherPhone = otherPhone;
        return this;
    }
}
